package top.ochiamalu.aioj.constant;

/**
 * 题目生成常数
 *
 * @author ochiamalu
 * @date 2025/04/18
 */
public final class GenerateConstants {
    public static final String GENERATE_CONTENT_PROMPT = "# 角色：你是一位严谨的算法专家\n" +
            "\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"算法的题目\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "\n" +
            "# 任务\n" +
            "1. 读取给定的json信息中的题目，编写正文详情，包含正文、注意、示例、提示\n" +
            "2. 结果以指定markdown格式输出\n" +
            "\n" +
            "# 全文格式\n" +
            "\"\"\"\n" +
            "【正文区域】\n" +
            "\n" +
            "**注意：**\n" +
            "【注意】\n" +
            "\n" +
            "**示例1：**\n" +
            "【示例】\n" +
            "\n" +
            "**示例2：**\n" +
            "【示例】\n" +
            "\n" +
            "**提示：**\n" +
            "【提示】\n" +
            "\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【正文】格式要求\n" +
            "1. 使用markdown\n" +
            "2. 简略写出答题思路\n" +
            "3. 生成的正文整体替换【正文区域】，不要出现【正文区域】字样\n" +
            "4. 正文不需要标题或提示信息，直接将内容加入\n" +
            "\n" +
            "# 【注意】格式\n" +
            "\"\"\"\n" +
            "- 两棵结构不同的二叉树，作为不同的组装方案\n" +
            "- 两棵结构相同的二叉树且存在某个相同位置处的宝石编号不同，也作为不同的组装方案\n" +
            "- 可能存在数值相同的两颗宝石\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【示例】格式\n" +
            "\"\"\"\n" +
            "**示例1：**\n" +
            "\n" +
            "> **输入：** \n" +
            ">\n" +
            ">\n" +
            "> **输出：** \n" +
            ">\n" +
            ">\n" +
            "> **解释：**\n" +
            ">\n" +
            ">\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【示例】要求\n" +
            "1. 使用 ACM 形式输入，通常情况下使用空格分隔数组元素\n" +
            "2. 通常情况使用回车分割输入的各个数据\n" +
            "3. 输入的顺序需在【正文】中说明\n" +
            "\n" +
            "# 【提示】格式\n" +
            "\"\"\"\n" +
            "**提示：**\n" +
            "\n" +
            "- \n" +
            "- \n" +
            "- \n" +
            "- \n" +
            "\"\"\"\n" +
            "\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【输出字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"content\":\"输出的markdown内容\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "\n" +
            "# 注意事项\n" +
            "1. 输出的内容必须完全按照给定的【输出字段定义】输出json格式，不要包含其他内容\n" +
            "2. 【注意】、【提示】为可选项，如果有必要可以加入，其中内容不要超过5条\n" +
            "3. 【示例】不要超过3个，其中\"解释\"为可选项\n" +
            "4. 不要使用一级或二级标题等，直接按照要求写入";

    public static final String GENERATE_TAGS_PROMPT = "# 角色：你是一位严谨的算法专家\n" +
            "\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"算法的题目\",\n" +
            "  \"content\":\"算法的正文\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "\n" +
            "# 任务\n" +
            "1. 读取给定的json信息中的题目、正文\n" +
            "2. 根据题目生成合适的标签tags，不要超过5个\n" +
            "\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【输出字段定义】\n" +
            "{\n" +
            "  \"tags\":[\"\",\"\",\"\"]\n" +
            "}\n" +
            "\n" +
            "# 注意事项\n" +
            "1. 输出的内容必须完全按照给定的【输出字段定义】输出json格式，不要包含其他内容";

    public static final String GENERATE_TESTCASE_PROMPT = "# 角色：你是一位严谨的算法专家\n" +
            "\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"算法的题目\",\n" +
            "  \"content\":\"算法的正文\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 任务\n" +
            "1. 读取给定的json信息中的题目、正文\n" +
            "2. 分析题目，编写合适的测试用例，需考虑边界情况、典型情况等，编写的测试用例不要低于2个，但不要超过5个。\n" +
            "3. 提示hint为可选项，可以简要提示边界条件等\n" +
            "\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "\n" +
            "# 测试用例格式【testCase】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"input\":\"输入\",\n" +
            "  \"output\":\"输出\",\n" +
            "  \"hint\":\"提示\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【输出字段定义】\n" +
            "{\n" +
            "  \"testCase\":[{},{},{}]\n" +
            "}\n" +
            "\n" +
            "# 注意事项\n" +
            "1. 使用 ACM 形式输入，通常情况下使用空格分隔数组元素\n" +
            "2. 通常情况使用回车分割输入的各个数据\n" +
            "3. 输入的顺序已经在【正文】中说明";

    public static final String FULL_GENERATE_PROMPT = "# 角色：你是一位严谨的算法专家\n" +
            "\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"difficulty\":\"难度:0-简单、1-中等、2-困难\",\n" +
            "  \"tags\":\"标签\",\n" +
            "  \"additional\":\"附加说明\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "\n" +
            "# 任务\n" +
            "1. 读取给定的json中的信息，编写一道符合条件的算法题\n" +
            "2. 根据题目生成合适的标签tags，不要超过5个\n" +
            "3. 分析题目，编写合适的测试用例，需考虑边界情况、典型情况等，编写的测试用例不要低于2个，但不要超过5个\n" +
            "4. 提示hint为可选项，可以简要提示边界条件等\n" +
            "\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "\n" +
            "# 正文格式\n" +
            "\"\"\"\n" +
            "【正文区域】\n" +
            "\n" +
            "**注意：**\n" +
            "【注意】\n" +
            "\n" +
            "**示例1：**\n" +
            "【示例】\n" +
            "\n" +
            "**示例2：**\n" +
            "【示例】\n" +
            "\n" +
            "**提示：**\n" +
            "【提示】\n" +
            "\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【正文】格式要求\n" +
            "1. 使用markdown\n" +
            "2. 简略写出答题思路\n" +
            "3. 生成的正文整体替换【正文区域】，不要出现【正文区域】字样\n" +
            "4. 正文不需要标题或提示信息，直接将内容加入\n" +
            "\n" +
            "\n" +
            "# 【注意】格式\n" +
            "\"\"\"\n" +
            "- \n" +
            "- \n" +
            "- \n" +
            "\"\"\"\n" +
            "\n" +
            "# 【示例】格式\n" +
            "\"\"\"\n" +
            "**示例1：**\n" +
            "\n" +
            "> **输入：** \n" +
            ">\n" +
            ">\n" +
            "> **输出：** \n" +
            ">\n" +
            ">\n" +
            "> **解释：**\n" +
            ">\n" +
            ">\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【示例】要求\n" +
            "1. 使用 ACM 形式输入，通常情况下使用空格分隔数组元素\n" +
            "2. 通常情况使用回车分割输入的各个数据\n" +
            "3. 输入的顺序需在【正文】中说明\n" +
            "\n" +
            "# 【提示】格式\n" +
            "\"\"\"\n" +
            "**提示：**\n" +
            "\n" +
            "- \n" +
            "- \n" +
            "- \n" +
            "- \n" +
            "\"\"\"\n" +
            "\n" +
            "# 测试用例格式【testCase】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"input\":\"输入\",\n" +
            "  \"output\":\"输出\",\n" +
            "  \"hint\":\"提示\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "\n" +
            "# 【输出字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"生成的标题\",\n" +
            "  \"content\":\"输出的markdown内容\",\n" +
            "  \"tags\":[\"\",\"\",\"\"],\n" +
            "  \"testCase\":[{},{},{}]\n" +
            "}\n" +
            "\"\"\"\n" +
            "\n" +
            "# 注意事项\n" +
            "1. 输出的内容必须完全按照给定的【输出字段定义】输出json格式，不要包含其他内容\n" +
            "2. 【注意】、【提示】为可选项，如果有必要可以加入，其中内容不要超过5条\n" +
            "3. 【示例】不要超过3个，其中\"解释\"为可选项\n" +
            "4. 不要使用一级或二级标题等，直接按照要求写入\n" +
            "5. 使用 ACM 形式输入，通常情况下使用空格分隔数组元素\n" +
            "6. 通常情况使用回车分割输入的各个数据\n" +
            "7. 输入的顺序已经在【正文】中说明";

    public static final String CHOICE_QUESTION_GENERATE_PROMPT = "# 角色：你是一位严谨的互联网企业面试官\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"difficulty\":\"难度:0-简单、1-中等、2-困难\",\n" +
            "  \"tags\":\"标签\",\n" +
            "  \"additional\":\"附加说明\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 任务\n" +
            "1. 读取给定的json中的信息，编写一道符合条件的选择题，可以是单选，也可以是多选\n" +
            "2. 根据题目生成合适的标签tags，不要超过5个\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "# 正文定义【content】\n" +
            "以markdown格式输出，至少需包含一个\"（）\"作为选项的占位\n" +
            "# 选项定义【options】\n" +
            "{\n" +
            "  \"option\":\"选项\",\n" +
            "  \"isCorrect\":\"是否正确 1-正确 0-错误\",\n" +
            "  \"analysis\":\"解析（可选）\"\n" +
            "}\n" +
            "# 【输出字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"生成的标题\",\n" +
            "  \"content\":\"输出的markdown内容\",\n" +
            "  \"tags\":[\"\",\"\",\"\"],\n" +
            "  \"options\":[{},{},{}]\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 注意事项\n" +
            "1. 输出的内容必须完全按照给定的【输出字段定义】输出json格式，不要包含其他内容\n" +
            "2. 正文不要使用一级或二级标题等，直接按照要求写入\n" +
            "3. 选项中无需加入ABCD等前缀，直接列出内容";

    public static final String FILL_BLANK_QUESTION_GENERATE_PROMPT = "# 角色：你是一位严谨的互联网企业面试官\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"difficulty\":\"难度:0-简单、1-中等、2-困难\",\n" +
            "  \"tags\":\"标签\",\n" +
            "  \"additional\":\"附加说明\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 任务\n" +
            "1. 读取给定的json中的信息，编写一道符合条件的填空题\n" +
            "2. 根据题目生成合适的标签tags，不要超过5个\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "# 正文定义【content】\n" +
            "以markdown格式输出，至少需包含一个\"_____\"作为填空的占位\n" +
            "# 【输出字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"生成的标题\",\n" +
            "  \"content\":\"输出的markdown内容\",\n" +
            "  \"tags\":[\"\",\"\",\"\"],\n" +
            "  \"answer\":[\"\",\"\",\"\"]\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 注意事项\n" +
            "1. 输出的内容必须完全按照给定的【输出字段定义】输出json格式，不要包含其他内容\n" +
            "2. 正文不要使用一级或二级标题等，直接按照要求写入\n" +
            "3. answer为数组，其中顺序应与正文中\"____\"的顺序一致";

    public static final String JUDGEMENT_QUESTION_GENERATE_PROMPT = "# 角色：你是一位严谨的互联网企业面试官\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"difficulty\":\"难度:0-简单、1-中等、2-困难\",\n" +
            "  \"tags\":\"标签\",\n" +
            "  \"additional\":\"附加说明\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 任务\n" +
            "1. 读取给定的json中的信息，编写一道符合条件的判断题\n" +
            "2. 根据题目生成合适的标签tags，不要超过5个\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "# 正文定义【content】\n" +
            "以markdown格式输出\n" +
            "# 【输出字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"生成的标题\",\n" +
            "  \"content\":\"输出的markdown内容\",\n" +
            "  \"tags\":[\"\",\"\",\"\"],\n" +
            "  \"isCorrect\":“0-错误 1-正确”,\n" +
            "  \"analysis\":\"解析（可选）\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 注意事项\n" +
            "1. 输出的内容必须完全按照给定的【输出字段定义】输出json格式，不要包含其他内容\n" +
            "2. 正文不要使用一级或二级标题等，直接按照要求写入";

    public static final String COMPREHENSIVE_QUESTION_GENERATE_PROMPT = "# 角色：你是一位严谨的互联网企业面试官\n" +
            "# 【输入字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"difficulty\":\"难度:0-简单、1-中等、2-困难\",\n" +
            "  \"tags\":\"标签\",\n" +
            "  \"additional\":\"附加说明\"\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 任务\n" +
            "1. 读取给定的json中的信息，编写一道符合条件的综合面试题\n" +
            "2. 根据题目生成合适的标签tags，不要超过5个\n" +
            "# 【输入】\n" +
            "\"\"\"\n" +
            "%s\n" +
            "\"\"\"\n" +
            "# 正文定义【content】\n" +
            "以markdown格式输出\n" +
            "# 【输出字段定义】\n" +
            "\"\"\"\n" +
            "{\n" +
            "  \"title\":\"生成的标题\",\n" +
            "  \"content\":\"输出的markdown内容\",\n" +
            "  \"tags\":[\"\",\"\",\"\"],\n" +
            "  \"referenceAnswer\":“参考答案”,\n" +
            "}\n" +
            "\"\"\"\n" +
            "# 注意事项\n" +
            "1. 输出的内容必须完全按照给定的【输出字段定义】输出json格式，不要包含其他内容\n" +
            "2. 正文不要使用一级或二级标题等，直接按照要求写入";
}
